/***
 * 自定义规则
 */
function userNameRule() {
    let userName = $("#userName").val();
    //定义用户名输入的匹配规则（以字母开头下划线数子结尾的5-15位字符）
    let rule = /^[a-zA-Z]\w{5,15}$/;
    return judge(rule, userName, "userTips", "您输入的格式错误", "");
}

function phoneRule() {
    let phone = $("#phone").val();
    let rule = /^1[3578]\d{9}$/;
    // if(!rule.test(phone)){
    //     $("#phoneTips").html("您输入的格式错误") ;
    //     return false;
    // }else{
    //     $("#phoneTips").html("")
    //     return true;
    // }
    return judge(rule, phone, "phoneTips", "您输入的格式错误", "");
}

function emailRule() {
    let email = $("#email").val();
    let rule = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
    // if(!rule.test(email)){
    //     $("#emailTips").html("您输入的格式错误") ;
    //     return false;
    // }else{
    //     $("#emailTips").html("")
    //     return true;
    // }
    return judge(rule, email, "emailTips", "您输入的格式错误", "");
}

function passwordRule() {
    let password = $("#password").val();
    //要求密码为至少包含一位数字和一位字母长度为6到20为之间
    let rule = /^(?![^a-zA-Z]+$)(?!\D+$)[0-9a-zA-Z]{6,20}$/;
    return judge(rule, password, "passwordTips", "您输入的格式错误", "");

}


function judge(rule, value, tips, errorTips, successTips) {
    if (!rule.test(value)) {
        $("#" + tips).html(errorTips);
        return false;
    } else {
        $("#" + tips).html(successTips);
        return true;
    }

}

//提交表单时再一次判断提交数据是否正确
function save() {
    if (userNameRule() && phoneRule() && passwordRule() && emailRule()) {
        let data = {
            userName: $("#userName").val(),
            password: $("#password").val(),
            phone: $("#phone").val(),
            email: $("#email").val(),
            sex: $('input:radio[name="sex"]:checked').val(),
            age: $("#age").val(),
            birthday: $("#birthday").val(),
            hobby:getHobby().toLocaleString(),
        };
        //连接后台servlet
        $.ajax({
            url: "/register",//后台的注解或者action的地址
            data: data,//数据
            type: 'post',//方法
            dataType: 'json',//返回数据类型
            success: function (data) {//返回的数据
                if (data.result == "success") {
                    alert("注册成功，即将跳转登录页面！")
                    window.open("/html/login.html");
                } else if(data.result == "isHave") {
                    alert("当前用户名火爆，请另取一个哟亲(=^ ^=)！")
                    // window.location.history.back();
                }else{
                    alert("注册失败，请重新输入(=^ ^=)！");
                }
            }
        })
    }else{
        alert("请检查所有输入是否正确(=^ ^=)!!!");
    }
}
function getHobby() {
    let hobby =[];
    $("input:checkbox[name=hobby]").each(function() {
        if($(this).prop('checked')){
            hobby.push($(this).val());
        }
    })
    return hobby;
}